iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0

前面說明了 Docker 服務是什麼以及基本常用的操作指令之後
今天想要來談談實際操作的過程啦

首先第一步: 先去安裝 Docker Desktop
第二步: 再替專案準備 Dockerfile 和 docker-compose.yml

補充說明:
我有特別問 AI 說使用 Docker 一定要用 Dockerfile 和 docker-compose.yml 嗎?
答案是: 不用,沒有 Dockerfile 和 docker-compose.yml 也可以跑 Docker。
Docker 執行的是 image,不是一定要執行 Dockerfile 或 docker-compose.yml

1.Dockerfile
例如:我們也可以直接跑一個官方 Nginx
docker run -d -p 8080:80 nginx

這裡完全沒有

Dockerfile
docker-compose.yml

但 Docker 一樣可以正常跑,因為它直接使用 Docker Hub 上已經做好的 nginx image。

可以這樣理解:

情況 1:直接使用現成 image

docker run nginx
      ↓
直接啟動 nginx container

這時不需要 Dockerfile。

而 Dockerfile 是你想要「自己做一個 image」時才需要。

例如:一個 React 專案:

React 原始碼
   ↓
Dockerfile
   ↓
docker build
   ↓
產生自己的 image
   ↓
container

2.docker-compose.yml
docker-compose.yml 也不是 Docker 必備。
假設有

frontend
backend
mysql

其實可以完全手動,只是會很麻煩,

docker run frontend-image
docker run backend-image
docker run mysq

才會讓 docker-compose.yml 幫你一次管理
docker compose up

3.結論
所以 Docker 最基本的流程其實是:

Image
 ↓
Container

Dockerfile 只是其中一種「產生 Image 的方法」。
docker-compose.yml 只是「方便管理 Container 的工具」。

可以想像成:

Dockerfile
= 怎麼做便當

Image
= 做好的便當

Container
= 把便當打開開始吃

docker-compose.yml
= 一次管理很多份便當

所以如果在公司專案裡看到「沒有 Dockerfile,但 Docker 還是跑得起來」,通常代表它可能直接使用了已經存在的 image。

阿~講太多了今天就先到這邊XD
明天繼續談談設定 Docker 的部分!


上一篇
Day 3 - 常見的 Docker 指令
下一篇
Day 5 - Docker 基礎的相關設定 2
系列文
在AI 時代的碰撞下~當前端工程師開始碰上後端又到了雲服務的旅程9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言